<%--
    Document   : modificarNovedad
    Created on : 29/01/2011, 11:36:35 PM
    Author     : Hector Gutierrez
--%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ page contentType="text/html" pageEncoding="UTF-8"%>
<%@ include file="FuncionesUtilitarias.jsp" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<% String id_gen = (String) request.getParameter("id_gen");%>
<% String id_esp = (String) request.getParameter("id_esp");%>

<h1 class="title">Gestión de Tipos de Novedad</h1>
<hr>
<p class="meta"></p>    
<center>
    <h2>Consultar Tipo de Novedad</h2>
    <div id="center">
        <html:form action="/modificarNovedad" styleId="modificarNovedadForm" onsubmit="">
            <!-- Subtitulo -->
            <br>
            <h2 id="sub2" style="display: none">Datos Básicos:</h2>
            <br>
            <h3 id="h31" style="display: none">Novedad Genérica:</h3>
            <h3 id="h32" style="display: none">Novedad Específica:</h3>

            <input type="text" name="id_gen" property="id_gen" id="id_gen" style="display:none" />
            <input type="text" name="id_esp" property="id_esp" id="id_esp" style="display:none" />
            <input type="text" name="tipo_novedad" id="tipo_novedad" style="display:none">
            <table id="setNovedadesNamesTable" >
                <!-- Definición de nombres de la novedad a agregar -->
                <tr id="setNovGenName" style="display: none">
                    <td><h4>Nombre:</h4></td>
                    <td><html:text property="nombre_gen" styleId="nombre_gen" disabled="true" size="40"/></td>
                </tr>
                <tr id="setNovGenDes" style="display: none">
                    <td><h4>Descripción:</h4></td>
                    <td><html:textarea property="descr_gen" styleId="descr_gen" rows="15" cols="40"disabled="true" /></td>
                </tr>
                <tr id="selectNovGen" style="display: none">
                    <td id="label1"><h4>Tipo de Novedad Genérica:</h4></td>
                    <td id="dropdown"><select id="novGenSelected" name ="novGenSel" disabled="true" onchange="">
                        </select>
                    </td>
                </tr>
                <tr id="setNovEspName" style="display: none">
                    <td><h4><font color="red">*&nbsp;</font>Nombre:</h4></td>
                    <td><html:text property="nombre_esp"  styleId="nombre_esp" disabled="true" size="40"/></td>
                </tr>
                <tr id="setNovEspDes" style="display: none">
                    <td><h4>Descripción:</h4></td>
                    <td><html:textarea property="descr_esp" styleId="descr_esp" rows="15" disabled="true" cols="40"/></td>
                </tr>
                <br>
            </table>
            <br>
            <!-- Agrega los campos a las planillas -->
            <table cellpadding="0" cellspacing="0" border="0" id ="tabla_campos_viejos" style="display: none" class="sortable">
            </table>
            <br>
            <h3 id="subAlertas" style="display: none">Información de Alertas:</h3>
            <table id="alertaTable" style="display: none">
                <tr>
                    <td><h4>Intervalo de ocurrencia en días:</h4></td>
                    <td><html:text property="intervalo_ocurrencias" styleId="intervalo_ocurrencias" disabled="true" size="5" maxlength="5" /></td>
                </tr>
                <tr>
                    <td><h4>Ocurrencias necesarias para activar la alerta:</h4></td>
                    <td><html:text property="numero_ocurrencias" styleId="numero_ocurrencias" disabled="true" size="5" maxlength="5"/></td>
                </tr>
            </table>
            <br>
        </html:form>
    </div>
</center>
<script>
    document.getElementById('id_gen').value = <% out.print(id_gen);%>;
    document.getElementById('id_esp').value = <% out.print(id_esp);%>;
</script>
<script type="text/javascript">
    /*
     * Según el tipo de novedad escogido (genérica o específica)
     * se muestran los campos correspondientes.
     */
    id_gen = "";
    id_esp = "";

    $(function(){
        inicializar_novedad(<% out.print(id_gen);%>,<% out.print(id_esp);%>);
        consultarNovedad(<% out.print(id_gen);%>,<% out.print(id_esp);%>);
    });
    
    function inicializar_novedad(id_generica, id_especifica){
        id_gen=id_generica;
        id_esp=id_especifica;
        if(id_gen != "" && id_esp == "-1"){
            document.getElementById('tipo_novedad').value = "generica";
            muestraCamposNombres("generica");
        }else if(id_gen != "" && id_esp != ""){
            document.getElementById('tipo_novedad').value = "especifica";
            muestraCamposNombres("especifica");
        }
    }

    function consultarNovedad(id_gen,id_esp){
        $.ajax({
            type: "GET",
            url: 'consultarNovedad.do',
            data: {id_gen:id_gen,id_esp:id_esp},
            dataType: 'json',
            success: processConsultarNovedad
        });
        return false
    }

    function processConsultarNovedad(data){
        if(data.novedad){
            if (id_esp == "-1"){
                $('#nombre_gen').val(data.novedad.nombre_novedad_gen);
                $('#descr_gen').val(data.novedad.descripcion);
                $('#intervalo_ocurrencias').val(data.novedad.intervalo_alerta);
                $("#numero_ocurrencias").val(data.novedad.ocurrencias);
            }else{
                $('#nombre_esp').val(data.novedad.nombre_novedad_esp);
                $('#descr_esp').val(data.novedad.descripcion);
                $('#intervalo_ocurrencias').val(data.novedad.intervalo_alerta);
                $("#numero_ocurrencias").val(data.novedad.ocurrencias);
                $("#novGenSelected").val(data.novedad.nombre_novedad_gen);                                            
                var string = "<option value='"+id_gen+"'>"+data.novedad.nombre_novedad_gen+"</option>";
                $('#novGenSelected').append(string)
            }
        } else {
            alert("Ha ocurrido un error al consultar la Novedad!");
        }
        return false;
    }
    
    /////////////////

    function muestraCamposNombres(tipo){
        showElementByDisplay('sub2');
        hideElementByDisplay('tabla_campos_viejos');
        hideElementByDisplay('subAlertas');
        hideElementByDisplay('alertaTable');
        if(tipo == 'generica'){
            showElementByDisplay('h31');
            showElementByDisplay('setNovGenName');
            showElementByDisplay('setNovGenDes');
            showAddCampos('gen');
        }else{
            showElementByDisplay('h32');
            showElementByDisplay('selectNovGen');
            showElementByDisplay('setNovEspName');
            showElementByDisplay('setNovEspDes');
            showAddCampos('esp');
        }
        showElementByDisplay('sub2');
    }

    /*
     * Muestra la sección de agregar campos a la planilla.
     */
    function showAddCampos(tipo){
    
        hideElementByDisplay('sub2');
        showElementByDisplay('tabla_campos_viejos');
        showElementByDisplay('subAlertas');
        showElementByDisplay('alertaTable');
        if(tipo == 'gen'){
            campos_existentes(id_gen,"-1");
        }else{
            $("#tabla_campos_viejos").empty();
            campos_existentes(id_gen,id_esp);
        }
        
    }
    
    
    var numero_campo = 1;
    function campos_existentes(id_gen,id_esp){
        $.getJSON("muestraCampos.do",{gen: id_gen, esp: id_esp},
        function(data) {
            var row ="<thead><tr><th class='nosort'>Nombre</th><th>Tipo</th><th>Longitud</th><th>Obligatorio</th></tr></thead>";
            $("#tabla_campos_viejos").append(row);
            row = "<tbody>";
            $("#tabla_campos_viejos").append(row);
            $.each(data.fields, function(i,item){
                row = "<tr><td>"+item.nombre_campo+"</td>";
                if(item.validacion_campo == 0){
                    row += "<td>Numérico</td>";
                }else if(item.validacion_campo == 1){
                    row += "<td>Texto</td>";
                }else {
                    row += "<td>Fecha</td>";    
                }
                row += "<td>"+item.longitud+"</td>";
                if(item.obligatorio_campo == true){
                    row += "<td><input type='checkbox' id='ob"+numero_campo+"' name='obligatorios"+numero_campo+"' checked disabled='true' ></td></tr>";
                }
                else{
                    row += "<td><input type='checkbox' id='ob"+numero_campo+"' name='obligatorios"+numero_campo+"' disabled='true' ></td></tr>";
                }
                $("#tabla_campos_viejos").append(row);
                numero_campo++;
            });
            row = "</tbody>";
            $("#tabla_campos_viejos").append(row);
        });
    }
   
</script>